package com.ruoyi.device.service;

import java.util.List;
import com.ruoyi.device.domain.DeviceCollectConfig;

/**
 * 设备采集配置Service接口
 * 
 * @author ruoyi
 * @date 2025-10-20
 */
public interface IDeviceCollectConfigService 
{
    /**
     * 查询设备采集配置
     * 
     * @param configId 设备采集配置主键
     * @return 设备采集配置
     */
    public DeviceCollectConfig selectDeviceCollectConfigByConfigId(Long configId);

    /**
     * 查询设备采集配置列表
     * 
     * @param deviceCollectConfig 设备采集配置
     * @return 设备采集配置集合
     */
    public List<DeviceCollectConfig> selectDeviceCollectConfigList(DeviceCollectConfig deviceCollectConfig);

    /**
     * 新增设备采集配置
     * 
     * @param deviceCollectConfig 设备采集配置
     * @return 结果
     */
    public int insertDeviceCollectConfig(DeviceCollectConfig deviceCollectConfig);

    /**
     * 修改设备采集配置
     * 
     * @param deviceCollectConfig 设备采集配置
     * @return 结果
     */
    public int updateDeviceCollectConfig(DeviceCollectConfig deviceCollectConfig);

    /**
     * 批量删除设备采集配置
     * 
     * @param configIds 需要删除的设备采集配置主键集合
     * @return 结果
     */
    public int deleteDeviceCollectConfigByConfigIds(Long[] configIds);

    /**
     * 删除设备采集配置信息
     * 
     * @param configId 设备采集配置主键
     * @return 结果
     */
    public int deleteDeviceCollectConfigByConfigId(Long configId);

    /**
     * 启动采集任务
     * 
     * @param configId 配置ID
     * @return 结果
     */
    public int startCollectTask(Long configId);

    /**
     * 停止采集任务
     * 
     * @param configId 配置ID
     * @return 结果
     */
    public int stopCollectTask(Long configId);

    /**
     * 执行设备状态采集同步
     * 
     * @param configId 配置ID
     */
    public void executeCollect(Long configId);
}

